﻿//======================================================================
//
//        Copyright (C) 苏州逸仙软件    
//        All rights reserved
//
//        filename : virtualPublic.cs
//        description :
//
//        created by 周济 at 2011/2/15 13:39:54
//        mail:80406241@qq.com
//
//======================================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace huaguwang.virtualWeb
{
    public static class virtualPublic
    {
        /// <summary>
        /// 把一个单纯的类转换成一个ｌｉｓｔ，通常用来进行数据绑定用
        /// </summary>
        /// <param name="m"></param>
        /// <returns></returns>
        public static List<T> Exp_ToList<T>(this T m)
        {
            var list = new List<T>();
            if(m != null)
            {
                list.Add(m);
            }
            return list;
        }
        /// <summary>
        /// 把查询到的数据，转换成统一的显示数据
        /// </summary>
        /// <param name="m">要转换的资料</param>
        /// <param name="classlen">类名称的显示长度</param>
        /// <param name="namelen">自身名称的显示长度</param>
        /// <param name="nrlen">内容显示长度</param>
        /// <param name="classurl">类的连接地址，如xxxx/xxx.aspx?参数...&id=</param>
        /// <param name="url">自身的连接地址</param>
        /// <param name="intRandom">随机产生数的种子</param>
        /// <returns>可以直接在页面上显示的资料</returns>
        public static M_Page Exp_Show(this M_Page m, int classlen, int namelen, int nrlen, string classurl, string url, int intRandom)
        {
            if(m == null)
            {
                return m;
            }
            var i = 0;
            m.url = url + m.url;
            m.classurl = classurl + m.classurl;
            m.nr = m.nr.Exp_RegexHTML().Exp_LeftByt(namelen);
            m.classname = m.classname.Exp_LeftByt(classlen);
            m.name = m.name.Exp_LeftByt(namelen);
            var ic = m.click.Exp_IntTryParse();
            if(ic <= 10)
            {
                ic = new Random(i).Next(100, 1000);
            }
            i++;
            m.click = ic.ToString();
            m.b1 = (ic / 5).ToString();
            m.b2 = (ic / 4).ToString();
            return m;
        }

    }
}
